Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

Îåêßíçóå áðü ôï ìÝëïò Michalis Markou. Τελευταία δημοσίευση από το μέλος Michalis Markou στις 07-03-2011, 17:22. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-03-2011, 16:13 63968

    Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Καλησπέρα σας, χρειάζομαι την πολύτιμη βοήθεια σας! Στη δουλειά μου, όπου είναι κέντρο ελευθέρων σπουδών μου ζητήθηκε να φτιάξω μια βάση δεδομένων, για να καταχωρούνται όλοι οι μαθητές, τα μαθήματα, οι καθηγητές, οι αποδείξεις των μαθητών και διάφορα άλλα τέτοια στοιχεία καθώς και αναζητήσεις σε όλα τα παραπάνω. Θα ήθελα μια βοήθεια σας παρακαλώ για το ξεκίνημα.Να την κάνω σε access η σε ΜS Sql; Επίσης κάθε πρόταση πάνω στον σχεδιασμό, στις σχέσεις και στα ερωτήματα των tables είναι πολύτιμη!Αφού σχεδιαστεί θα ήθελα να την κάνω και web app σε asp έτσι ώστε ο Διευθηντής και κάποια άλλα άτομα να έχουν πρόσβαση και online!Ξέρω οτι είναι δύσκολο αυτό που ζητάω, αλλα κάθε βοήθεια είναι πολύτιμη!

    Ευχαριστω!
  •  05-03-2011, 21:06 63969 σε απάντηση της 63968

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Το τι είναι καλύτερο, εξαρτάται και τις γνώσεις που έχει ο καθένας.

    Θα σου πρότεινα να χρησιμοποιήσεις SQL Server για τον σχεδιασμό της βάσης και γενικότερα να έχεις SQL Server σαν backend. Είναι δωρεάν και μπορείς να τo κατεβάσεις από εδώ.Θα πρέπει να ασχοληθείς βέβαια για να μάθεις τα βασικά.

    Ο SQL Server διαχειρίζεται πολύ καλύτερα το locking και θα έχεις πολύ καλύτερο performance. Επίσης μπορείς να κάνεις πολύ πιο εύκολα βασικά tasks για τις βάσεις όπως backup κ.τ.λ

    Από ότι καταλαβαίνω αποκλείεται να έχεις τόσα δεδομένα (μέγεθος βάσης) που να μην σου φτάνουν τα 10Gbytes που έχει σαν ανώτατο όριο ο SQL Server R2 Express edition.

    Για να πάρεις μια ιδέα σχετικά με τους πίνακες και το σχήμα της βάσης παρόμοιας με αυτήν που θέλεις να σχεδιάσεις ρίξε μια ματιά εδώ.

    Βέβαια στο δικό σου σενάριο δεν βλέπω να υπάρχουνε πολλοί χρήστες που να έχουν πρόσβαση στην εφαρμογή. Θα υπάρχουν 4-5 άτομα που θα την χρησιμοποιούν. Οπότε αν εσύ δεις την μετάβαση στον SQL Server σαν ανυπέρβλητο εμπόδιο, τότε μπορείς να χρησιμοποιήσεις Access... Κάποια videos για beginners στον SQL Server μπορείς να βρεις εδώ.

    Τώρα για την υλοποίηση της εφαρμογής μπορείς να χρησιμοποιήσεις ASP.Net - από εδώ μπορείς να βρεις videos,εργαλεία,Papers,παραδείγματα,samples,starter kits. Μπορείς να κατεβάσεις το εργαλείο ανάπτυξης (Visual Web Developer 2010 Express) από εδώ.

    Θα σου πρότεινα να ξεκινήσεις το διάβασμα για την υλοποίηση asp.net εφαρμογών από εδώ . Ένα άλλο καλό site για να μάθεις τα βασικά είναι το W3Schools.

    Τώρα βέβαια μπορείς αν δεν έχεις τον χρόνο να ασχοληθείς με όλα αυτά τα νέα πράγματα να δεις κάποιο content management σύστημα(Dotnetnuke,umbraco,joomla) το οποίο "κρύβει" τα implemention details αλλά και εδώ έχεις το θέμα του learning curve.

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  05-03-2011, 22:44 63971 σε απάντηση της 63968

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Έχω πολλά χρόνια να ασχοληθώ με Access (δεν είχε Transaction logs τότε και δεν γνωρίζω αν έχει τώρα)  αλλά από την στιγμή που υπάρχει ο SQL server express edition θα επέλεγα αυτόν (σαν δωρεάν λύση) ή ακόμα καλύτερα μία "κανονική" έκδοση του SQL Server. Όσον αφορά τον σχεδιασμό της βάσης θα πρέπει τα βασικά δεδομένα (μαθητές, καθηγητές, μαθήματα) να συνδυαστούν με πίνακες που θα αποθηκεύουν τις χρονικές στιγμές που λαμβάνουν χώρα, με τέτοιο τρόπο τρόπο ώστε να μπορείτε ανά πάσα στιγμή να γνωρίζετε κάθε πότε γίνεται ένα μάθημα, ποιός το διδάσκει, ποιοί μαθητές που έχουν δηλώσει ενδιαφέρον το παρακολούθησαν (καθ όλη την διάρκεια του) και φυσικά ποιοί απουσίαζαν γιά να υπολογίσετε με αυτόν τον τρόπο τα έσοδα-έξοδα οφειλές-πληρωμές κ.λ.π.

    Π.Χ. αν έχουμε έναν πίνακα KES_Students και έναν πίνακα KES_Lessons θα πρέπει να φτιάξουμε και έναν πίνακα KES_StudentLessons που θα περιέχει ένα ID (Primary Key), το ID του μαθητή και το ID του μαθήματος που έχει δηλώσει. Φυσικά αν κάποιος μαθητής κάποια στιγμή μπορεί να αποφασίσει ότι δεν τον ενδιαφέρει το μάθημα που έχει δηλώσει και δεν θέλει να το παρακολουθεί πιά ή να ξαναδηλώσει ένα μάθημα που είχε απορρίψει , θα χρειαστεί να αποθηκεύουμε και το πότε άρχισε η δήλωση του μαθήματος και πότε τελείωσε η δήλωσή του, ίσως με δύο επιπλέον πεδία KES_StudentLessons.StartDate και KES_StudentLessons.EndDate και να πράτουμε ανάλογα.

    Από κει και πέρα είναι δική σας απόφαση το πόσο θα ασχοληθείτε με τον σχεδιασμό της βάσης και το αν θα επιλέξετε να αφορά μόνο μαθητές, καθηγητές ή ειδικότητες γενικότερα . Γιά παράδειγμα αν θέλετε να κάνετε πιό δυναμική την βάση θα πρέπει να μην φτιάξετε ξεχωριστούς πίνακες καθηγητές και μαθητές αλλά έναν πίνακα με πρόσωπα και έναν πίνακα με ειδικότητες ΠΧ KES_Persons με per_personID, per_FirstName, per_LastName, per_Skill και να συνδέσετε το Table KES_Persons με το Table KES_Skills (το οποίο θα μπορεί να περιέχει όλες τις ειδικότητες της επιχείρησης).

    Επίσης είναι απαραίτητο να φτιάξετε έναν πίνακα που θα συνδέει το κάθε μάθημα (ίσως Task αντί γιά μάθημα γιά πιό δυναμικό σχεδιασμό) με την χρονική στιγμή που πρέπει να γίνει. ΠΧ KES_Task με KES_TaskFrequency ο οποίος θα μπορεί να περιέχει ανά ημέρα εβδομάδα κλπ to πότε πρέπει να γίνει ένα μάθημα καθώς και με έναν πίνακα που θα αποθηκεύει και τον λόγο γιά τον οποιό κάποιο μάθημα ακυρώθηκε, καθυστέρησε κλπ.

    Ο σχεδιασμός της βάσης δεδομένων είναι κατά την γνώμη μου το πιό δύσκολο στάδιο και ένας σωστός σχεδιασμός μπορεί να κάνει την διαφορά μεταξύ εβδομάδων και μηνών υλοποίησης. Όσον αφορά την υλοποίηση μπορείτε να επιλέξετε οποιαδήποτε γλώσσα του .NET framework (VB, C#, C++/CLI κλπ) αλλά πρίν ξεκινήσετε οτιδήποτε ρίχτε μιά ματιά στο LightSwitch. Είναι ακόμα σε Beta 1 αλλά κατά την γνώμη μου είναι μία λύση που θα σας βοηθήσει να γλυτώσετε χρόνο αφού είναι σχεδιασμένο γία να φτιάχνει business applications σε WEB-Cloud  πολύ πιό εύκολα. Μπορεί να φτιάξει και Winform applications αλλά νομίζω ότι δεν χρειάζεται στην περίπτωση σας.

    LightSwitch

    LightSwitch Developer Center

    Καλή επιτυχία.

  •  05-03-2011, 23:02 63973 σε απάντηση της 63971

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Ευχαριστώ Πολύ για τις απαντήσεις σας και το ενδιαφέρον σας και το εκτιμώ πολύ! Έχω ξεκινήσει να τα σχεδιάζω σιγά σιγά σε sql, αλλά έχω μια απορία, η οποία μπορεί να είναι και λίγο αστεία:Όταν έρχεται ο μαθητής για να γραφτεί, στο πεδίο του μαθήματος θα πρέπει αυτός που κάνει την καταχώρηση να γράφει το LessonID ή το όνομα του μαθήματος;
  •  05-03-2011, 23:17 63974 σε απάντηση της 63973

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Θα πρέπει να επιλέγει το μάθημα μέσα από ένα ComboBox, η επιλογή του μαθήματος θα γράφει το ID, αν επιλέξεις την περιγραφή θα γεμίσεις την βάση με δεδομένα του στυλ μαθηματικά ή μαθεματικά :) δεν πρέπει να επιτρέπεις τέτοιες καταχωρήσεις.
  •  05-03-2011, 23:29 63975 σε απάντηση της 63974

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Καταλαβά, δλδ οι περισσότερες καταχωρήσεις σε όλα θα είναι με επιλογές μέσα απο combobox. Δεν θα έχω τόσο αναλυτικές περιγραφές στα μαθήματα.Τα combdobox, οι αναζητήσεις που θα κάνει αυτός που θα ενημερώνει τη βάση και τα σχετικά θα σχεδιαστούν μέσα απο την sql, ή μέσα απο την asp για παράδειγμα;
  •  06-03-2011, 17:21 63987 σε απάντηση της 63975

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Για να μην ανοίξω καινούριο topic συνεχίζω εδώ. Έφτιαξα μια μικρή βάση δεδομένων σε sql με 3 tables:Students(με τα πεδία StudentID, όνομα, επώνυμο), Lessons(LessonID, μάθημα) και Students.Lessons(ID, StudentID και LessonID) καθώς επίσης έκανα και τίς ανάλογες σχέσεις. Πως μπορώ να εμφανίσω όμως(πχ με ενα ερώτημα) το Μάθημα που αντιστοιχεί στον κάθε μαθητή απο τον πίνακα Lessons μαζί με το Όνομα και το Επώνυμο του πίνακα Students; Δεν θέλω να μου εμφανίζονται όμως τα ID.
  •  06-03-2011, 18:47 63990 σε απάντηση της 63987

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Στο select query που θα κάνεις χρησιμοποιώντας join, απλά θα φέρεις μόνο τα πεδία που επιθυμείς (όνομα,επώνυμο,μάθημα).
     
    Σε αυτήν εδώ την βάση με αυτό το σχήμα (κάνε Scroll μέχρι το τέλος της σελίδας )για να βρω αυτό που ζητάς,χρησιμοποιώ τους πίνακες (Course,CourseInstructor,Person) και κάνω inner join στα κατάλληλα keys
    SELECT  Person.FirstName ,
            Person.LastName ,
            Course.Title
    FROM    Course
            INNER JOIN CourseInstructor ON Course.CourseID = CourseInstructor.CourseID
            INNER JOIN Person ON CourseInstructor.PersonID = Person.PersonID

    όπως βλέπεις στο select βάζω μόνο τα πεδία που με ενδιαφέρουν. Πρέπει να διαβάσεις λίγο περισσότερο T-SQL και θεωρία βάσεων δεδομένων.

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  07-03-2011, 10:27 64005 σε απάντηση της 63990

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Σε ευχαριστώ φίλε μου, είναι ακριβώς αυτό που ήθελα.
  •  07-03-2011, 17:22 64009 σε απάντηση της 64005

    Απ: Δημιουργία βάσης δεδομένων για εκπαιδευτήριο

    Παιδειά συγχωρέστε με, αλλά χρειάζομαι βοήθεια σε ένα ακόμα πρόβλημα που μου προέκυψε στην πορεία, το οποίο έχω ψάξει και έχω διαβάσει αρκετά αλλα δεν έβγαλα άκρη. Μέσα στη ASP.NET έχω φτιάξει 2 TextBoχ, 1 DropDownList και έχω βάλει και ένα button, όπου στο πρώτο TextBox θα γράφει κάποιος το ονομα, στο δεύτερο το επίθετο και απο το DropDownList θα επιλέγει το αντίστοιχο μάθημα που θα επιλέγει ο μαθητής, τα οποία μαθήματα είναι καταχωρημένα στον πίνακα Lessons, βασισμένο στην παραπάνω βάση δεδομένων. Πως όμως θα καταφέρω πατώντας το button  να καταχωρεί το όνομα και το επίθετο στον πίνακα Students  και να κάνει τη σύνδεση του μαθητή με το αντίστοιχο μάθημα που έχει επιλέξει απο το DropDownList;
    Ζητώ συγνώμη για την ταλαπωρία που σας προκαλώ αλλά τώρα ξεκινάω με την sql και όσο και να διαβάζω κάποια πράγματα είναι δύσκολο να τα βρείς όπως τα χρειάζεσαι και να τα κατανοήσεις!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems